package Leetcode100;

      class ListNode {
      int val;
      ListNode next;
      ListNode() {}
      ListNode(int val) { this.val = val; }
      ListNode(int val, ListNode next) { this.val = val; this.next = next; }
  }

public class Leetcode2 {

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        int t=0;//用t在外面进行加
        ListNode listNode=new ListNode(-1),cur=listNode;//维护一个新的链表放结果
        while (l1!=null||l2!=null||t!=0){//防止出现l1,l2=null，但还有进位
            if(l1!=null){
                t+=l1.val;//在t中加
                l1=l1.next;
            }
            if(l2!=null){
                t+=l2.val;//在t中加
                l2=l2.next;
            }
            listNode.next=new ListNode(t%10);//取加后可用值
            listNode=listNode.next;
            t/=10;//看是否有进位，有位1，没有为0
        }
        return cur.next;
    }
}
